/** Header **/

#ifndef __VECTORC_GENERIC_LIST_H__
#define __VECTORC_GENERIC_LIST_H__

/** data list **/
struct __generic_list;
typedef struct __generic_list * generic_list;
typedef struct __generic_list * generic_list_iterator;
typedef int __boolean;

#include "my_thread.h"
#include "error.h"

/** __generic_list_empty **/
generic_list __generic_list_empty ();

/** __generic_list_new **/
generic_list __generic_list_new (generic);

/** __generic_list_delete **/
void __generic_list_delete (generic_list);

/** __generic_list_append **/
generic_list __generic_list_append (generic, generic);

/** __generic_list_insert **/
generic_list __generic_list_insert (generic_list, generic);
/** generic _list __generic_list_remove */
generic_list __generic_list_remove (generic_list first, generic _generic);

/** __generic_list_concatenate **/
generic_list __generic_list_concatenate (generic_list, generic_list);

/** __generic_list_iterator_new **/
generic_list_iterator __generic_list_iterator (generic_list);

/** __generic_list_iterator_current **/
generic __generic_list_iterator_current (generic_list_iterator);

/** __generic_list_iterator_next **/
generic_list_iterator __generic_list_iterator_next (generic_list_iterator);

/** __generic_list_iterator_end **/
__boolean __generic_list_iterator_end (generic_list_iterator);



#endif

